browser = webdriver.Firefox()
try:
browser.set_window_size(1080,800)
browser.get('https://www.instagram.com/accounts/login')
print (browser.title)
time.sleep(5)
# i used the screenshot to cheek the problem , but the screenshot is totally
# blank (just a whit screen )
browser.save_screenshot("screenshot.png")
print("clicked..!")
browser.find_element_by_name("username").send_keys('*****')
browser.find_element_by_name("password").send_keys('*****')
finally:
browser.quit()
登录·Instagram点击..!
Traceback (most recent call last):
File "/home/Sourabh58/bot1.py", line 25, in <module>
browser.find_element_by_name("username").send_keys('be_fully_motivated')
File "/usr/lib/python3.7/site-packages/selenium/webdriver/remote/webdriver.py", line 365, in find_element_by_name
return self.find_element(by=By.NAME, value=name)
File "/usr/lib/python3.7/site-packages/selenium/webdriver/remote/webdriver.py", line 752, in find_element
'value': value})['value']
File "/usr/lib/python3.7/site-packages/selenium/webdriver/remote/webdriver.py", line 236, in execute
self.error_handler.check_response(response)
File "/usr/lib/python3.7/site-packages/selenium/webdriver/remote/errorhandler.py", line 192, in check_response
raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.NoSuchElementException: Message: Unable to locate element: {"method":"name","selector":"username"}
使用time.sleep()是某种形式的反模式,因为即使元素在DOM中出现得更快,测试也要等待5秒。
考虑重构代码以使用显式等待,这样WebDriver将轮询DOM以查找元素存在(或不存在),并在找到元素后立即继续。
建议的代码更改:
driver.get('https://www.instagram.com/accounts/login')
username = WebDriverWait(driver, 10).until(expected_conditions.presence_of_element_located((By.NAME, 'username')))
username.send_keys("****")
password = WebDriverWait(driver, 10).until(expected_conditions.presence_of_element_located((By.NAME, 'password')))
password.send_keys("****")
问题内容: 我正在尝试使用selenium在kahoot.it网页上自动生成大量用户,以使它们出现在类的前面,但是,当我尝试访问inputSession项时(在其中写入gameID进入游戏) 这是错误: 任何帮助将非常感激!:) 问题答案: 可能是竞标条件,在该竞标条件下find元素在页面上出现之前就已执行。看一下等待超时文档。这是文档中的示例
我正在尝试单击 函数? 或者,我试图以为目标: 这只是给出了一个错误,即它不在当前视图中,很可能是因为< code>a在< code>div下面 错误: Web驱动程序中发生了类型为“OpenQA.硒.元素不可见异常”的未处理的异常.dll附加信息:元素当前不可见,因此可能无法与之交互 谢谢你的帮助。我认为我的第二个选择是最好的选择。有没有办法抵消一个< code>Click()?谢了。
我已经写了下面的代码来选择单选按钮,它的工作很好,但今天它不工作了。请找到代码和相应的错误消息 代码1: 错误1:“线程”main“org.openqa.selenium.TimeoutException中出现异常:等待存在由:By.id:0_2485a_startdate定位的元素10秒后超时” 代码2: 错误2:“线程”main“org.openqa.selenium.TimeoutExcep
我在我的类上收到三条错误消息,它说在、和上找不到符号。我该如何解决这个问题?我试图在对话框中打印出来,但这三个是唯一不起作用的。
我收到这个错误:[错误]插件组织。阿帕奇。专家插件:maven surefire插件:2.12.4或其依赖项之一无法解析:找不到工件组织。阿帕奇。专家nexus xyz插件中的插件:maven surefire插件:jar:2.12.4 我试图运行maven与依赖:树,但我看不到surefire,我不知道为什么它正在寻找这个特定的版本2.12.4,这是没有指定在我的pom! 即使surefire插