我正在创建一个python脚本来单击我们在线数据库上的按钮,但我很难找到按钮ID。没有纯粹的,而只是包装在一堆同名的div类中。以下是我检查搜索按钮时谷歌的示例检查:'button id='from selenium import webdriverdriver = webdriver.Firefox()# Go to your page urldriver.get('https://www.google.ca/')# Get button you are going to click by its id ( also you could us find_element_by_css_selector to get element by css selector)button_element = driver.find_element_by_xpath("//input[@name='btnK']")button_element.click()任何见解将不胜感激;我不熟悉 html 设置。
4 回答
郎朗坤
TA贡献1921条经验 获得超9个赞
使用任一 x 路径:
(//*[@value='谷歌搜索'])[2]
或
(//*[@aria标签='谷歌搜索'])[2]
点击“谷歌搜索”按钮,上面的人建议“名称”属性,但这可能会破坏你的代码。因此,从安全的角度来看,您可以使用我建议的xpath,因为这些属性长期以来一直被Google使用。这个文本“谷歌搜索”是人们在谷歌主页上看到的内容。因此,谷歌可能不会很快改变。
因此,请尝试谨慎选择属性。享受
人到中年有点甜
TA贡献1895条经验 获得超7个赞
注意:此解释使用 JavaScript,因为问题标记了 JavaScript。
突出显示的没有和 ID,因此无法使用 访问它。<input>
document.getElementById()
它确实有一个名称“btnK”,所以你可以使用document.querySelector()来访问它:
let myInput = document.querySelector('input[name="btnK"]');
这将使用 检索文档中的第一个。<input>
name="btnK"
慕妹3146593
TA贡献1820条经验 获得超9个赞
使用 css 选择器或 Xpath 找到它
driver.find_element_by_css_selector("input[name='btnK']")
或
driver.find_element_by_xpath("//input[@name='btnK']")
如果您使用带有JavaScript的硒我们驱动程序,则可以使用以下代码单击该按钮。
await driver.findElement(By.css("input[name='btnK']")).click();
添加回答
举报
0/150
提交
取消