如果不使用selenium webdriver python注销,就无法从一个url移动到另一个url

2024-10-02 12:25:14 发布

您现在位置:Python中文网/ 问答频道 /正文

from selenium import webdriver
from selenium.webdriver.common.keys import Keys
driver = webdriver.Chrome('C:\Program Files\Python36\Drivers\chromedriver.exe')
driver.get("https://www.instagram.com/accounts/login/")
elem2 = driver.find_element_by_name("username")
elem2.send_keys('*')
elem3 = driver.find_element_by_name("password")
elem3.send_keys('*')
elem3.send_keys(Keys.ENTER)
driver.get('https://www.instagram.com/*/')

要登录,代码工作正常,但从那里我不确定如何有可能进入另一个用户页面,而保持登录。当我试着驱动程序。获取()方法它再次将我注销

++我刚刚还发现,当我登录并使用driver.current\u网址(),它返回“https://www.instagram.com/accounts/login/”的原始页,而不是“https://www.instagram.com/


Tags: fromhttpsimportcomsendgetwwwdriver
1条回答
网友
1楼 · 发布于 2024-10-02 12:25:14

警告:这是原始代码。这在很多意义上是错误的,你必须改进它。你知道吗

代码-

from selenium import webdriver
from selenium.webdriver.common.keys import Keys

driver = webdriver.Chrome('location/to/chrome/driver')
driver.get("https://www.instagram.com/accounts/login/")

elem2 = driver.find_element_by_name("username")
elem2.send_keys('username')
elem3 = driver.find_element_by_name("password")
elem3.send_keys('password')
elem3.send_keys(Keys.ENTER)
while True:
    try:
        elem4 = driver.find_element_by_css_selector(".-Cab_, .bIiDR")
        elem4.click()
        break
    except Exception:
        pass

elem5 = driver.find_element_by_xpath('//*[@id="react-root"]/section/nav/div[2]/div/div/div[2]/input')   
elem5.send_keys("chucknorris")
while True:
    try:
        elems = driver.find_elements_by_class_name("yCE8d")
        elems[0].click()
        break
    except Exception:
        pass

你需要改进什么?添加timeoutEC.presence_of_element_located((By.ID, "myElement"))等使代码更健壮。在这里,如果一个元素在while True中找不到,那么它将永远被困在一个边缘。我想你不会想要的。如果你这样做了,我是谁来阻止你。我们都是成年人。你知道吗

注意:这不使用driver.get,而是搜索用户ID。你知道吗

相关问题 更多 >

    热门问题