如何通过以下链接自动填写用户名和密码:
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
chromedriver = 'C:\\chromedriver.exe'
browser = webdriver.Chrome(chromedriver)
browser.get('http://www.example.com')
这以后我就真的不知道了:
username = Select(browser.find_element_by_name('Username'))
password = Select(browser.find_element_by_name('Password'))
username.select_by_visible_text("text")
password.select_by_visible_text("text")
7条答案
按热度按时间camsedfj1#
文件:https://selenium-python.readthedocs.io/navigating.html
对于版本4.3.0(2022年6月发布)及更高版本,Selenium中删除了对
find_element_by_*
和find_elements_by_*
的调用。对于API版本4.2.0或更早版本,原始响应如下:
代码注解:
Select()
用于作用于选择元素(https://developer.mozilla.org/en-US/docs/Web/HTML/Element/select)。vohkndzv2#
使用
WebElement.send_keys
方法模拟按键输入。代码(
Username
,Password
)中的name
与元素(username
,password
)的实际name
不匹配。pftdvrlh3#
注意事项:
user.clear()
来清除输入字段。mwg9r5ms4#
在某些情况下,当元素不可交互时,
sendKeys()
不起作用,您可能会遇到ElementNotInteractableException
。在这种情况下,您可以选择执行设置值的javascript,然后回发。
示例:
参考编号:
https://www.quora.com/How-do-I-resolve-the-ElementNotInteractableException-in-Selenium-WebDriver
camsedfj5#
以下是完整的答案。
由于不赞成使用
find_element_by_name()
,因此可以使用find_element(By.NAME, 'name')
。您还必须导入
from selenium.webdriver.common.by import By
xkrw2x1b6#
wlzqhblo7#
我是 selenium 的新手,我尝试了上面所有的解决方案,但都不起作用。最后,我手动尝试了这个
然后我就可以从网络上获取内容。