我正在尝试制作一个自动登录GitHub的程序。我只找到了登录选项。之后,我就找不到用户名字段了。我已经确认了元素肯定不在a/an(i)框架中。我已经尝试了css-selector的替代方法。
下面是我尝试的代码:
from selenium.webdriver import Chrome
from selenium.webdriver.chrome.options import Options
chrome_opt = Options()
chrome_opt.add_experimental_option("detach", True) # type: ignore[unknown]
auto = Chrome(options=chrome_opt)
auto.get("https://github.com")
signin_link = auto.find_element("link text", "Sign in")
signin_link.click()
username = auto.find_element("id", "login_field")
username.send_keys("ArnabRollin") # type: ignore[unknown]
# FIXME
这里有类型忽略注解是因为VS代码中的"严格模式"类型检查。另外,在尝试运行它5次之后,它终于工作了,但是当我再次运行它时,它没有工作。
2条答案
按热度按时间bxjv4tth1#
您可以使用此CSS选择器:
此外,当您转到
github.com
并单击login
时,URL将更改为/login
:https://github.com/login
amrnrhlw2#
现在,您的代码正在查找页面
https://github.com
中的元素-方法get()
中使用的元素而不是点击元素的链接,得到它与webdriver:
使用
auto.get(url2)
将保存新的页面上下文到驱动程序中.登录完成后,将需要新的页面上下文