基于@onclick w / Selenium查找并单击元素

时间:2018-09-05 18:01:14

标签: python html selenium selenium-chromedriver

我正在尝试在Python中使用Selenium来查找具有如下html元素:

<td class="td1" onclick="window.location.href = 'work_area.php?SID';">Work area</td>

包含在简单的<tr></tr>标签中。

我尝试使用

work_area = driver.find_element_by_css_selector('td[contains(@onclick, "work_area.php?SID"]')

并使用绝对xpath

work_area = driver.find_element_by_xpath("/html/body/table/tbody/tr[2]/td[1]/div/table/tbody/tr[2]/td/table/tbody/tr[3]/td")

我的按钮结构:

+---------------------+
|       Menu          |
+---------------------+
|     Work Area       |
+---------------------+
|     Details         |
+---------------------+

我正在使用Python 3.6,并且Selenium是最新的,有什么建议吗? 我还尝试了一些关于stackoverflow的建议,但没有帮助。

1 个答案:

答案 0 :(得分:3)

您可以在下面使用定位器:

driver.find_element_by_css_selector("td[onclick*='work_area']")
driver.find_element_by_xpath("//td[.='Work area']")

您下面的代码不正确,定位器是xpath,并且您使用了CSS选择器:

work_area = driver.find_element_by_css_selector('td[contains(@onclick,"work_area.php?SID"]')