如何在 python 中使用 selenium 单击数字按钮(onclick 事件)?
How can I click on numeric buttons (onclick Event) using selenum in python?
我有这样的 HTML 代码:
<ul aria-hidden="false" aria-labelledby="resultsPerPage-button" id="resultsPerPage-menu" role="listbox" tabindex="0" class="ui-menu ui-corner-bottom ui-widget ui-widget-content" aria-activedescendant="ui-id-2" aria-disabled="false" style="width: 71px;">
<li class="ui-menu-item">
<div id="ui-id-1" tabindex="-1" role="option" class="ui-menu-item-wrapper">20</div>
</li>
<li class="ui-menu-item"><div id="ui-id-2" tabindex="-1" role="option" class="ui-menu-item-wrapper ui-state-active">50</div>
</li>
<li class="ui-menu-item"><div id="ui-id-3" tabindex="-1" role="option" class="ui-menu-item-wrapper">100</div>
</li>
<li class="ui-menu-item"><div id="ui-id-4" tabindex="-1" role="option" class="ui-menu-item-wrapper">200</div>
</li>
</ul>
我想点击“200”。你能帮我吗?我在 python 2.7
中使用了 selenium
我试过这样做:
import time
time.sleep(10)
x=driver.find_element_by_link_text("200").click()
x.click()
time.sleep(8)
这里的问题是包含文本 200
的元素不是 "Link",而只是定义了一个可以用作可点击元素的 li
标签网站。
documentation没有直接指定,"Link"表示只有a
个标签.
想法相同,但您必须以不同于 Link 的方式来寻找该元素。我认为使用 xpath 是这种方法的最佳方式:
x = driver.find_element_by_xpath("//div[./text()='200']")
x.click()
现在当然可以根据它包含的 text
来查找元素,但是要查找您想要的特定节点,使用 id
会更容易和更好,因为它应该始终是唯一的:
x = driver.find_element_by_id('ui-id-4')
我可以 运行 使用 "send_keys":
import time
number.click()
number.send_keys("200")
var200=driver.find_element_by_xpath("""//*[@id="ui-id-4"]""")
var200.click()
我有这样的 HTML 代码:
<ul aria-hidden="false" aria-labelledby="resultsPerPage-button" id="resultsPerPage-menu" role="listbox" tabindex="0" class="ui-menu ui-corner-bottom ui-widget ui-widget-content" aria-activedescendant="ui-id-2" aria-disabled="false" style="width: 71px;">
<li class="ui-menu-item">
<div id="ui-id-1" tabindex="-1" role="option" class="ui-menu-item-wrapper">20</div>
</li>
<li class="ui-menu-item"><div id="ui-id-2" tabindex="-1" role="option" class="ui-menu-item-wrapper ui-state-active">50</div>
</li>
<li class="ui-menu-item"><div id="ui-id-3" tabindex="-1" role="option" class="ui-menu-item-wrapper">100</div>
</li>
<li class="ui-menu-item"><div id="ui-id-4" tabindex="-1" role="option" class="ui-menu-item-wrapper">200</div>
</li>
</ul>
我想点击“200”。你能帮我吗?我在 python 2.7
中使用了 selenium我试过这样做:
import time
time.sleep(10)
x=driver.find_element_by_link_text("200").click()
x.click()
time.sleep(8)
这里的问题是包含文本 200
的元素不是 "Link",而只是定义了一个可以用作可点击元素的 li
标签网站。
documentation没有直接指定,"Link"表示只有a
个标签.
想法相同,但您必须以不同于 Link 的方式来寻找该元素。我认为使用 xpath 是这种方法的最佳方式:
x = driver.find_element_by_xpath("//div[./text()='200']")
x.click()
现在当然可以根据它包含的 text
来查找元素,但是要查找您想要的特定节点,使用 id
会更容易和更好,因为它应该始终是唯一的:
x = driver.find_element_by_id('ui-id-4')
我可以 运行 使用 "send_keys":
import time
number.click()
number.send_keys("200")
var200=driver.find_element_by_xpath("""//*[@id="ui-id-4"]""")
var200.click()