在页面上找到元素

时间:2019-05-09 21:40:27

标签: python selenium-webdriver

我试图在页面上找到一个元素,遇到了麻烦。不确定框架/ iframe是否是问题。我已经尝试过xpath和其他定位条件,但是我一直没有得到这样的元素消息。这是网页(http://www.ghin.com/lookup.aspx

正如我所说,我尝试使用xpath,css_name和其他条件进行定位。 这是HTML的相关部分(必须删除要显示的前导/尾随<>字符(不确定原因)

<td class="ClubGridHandicapIndex" style="width: 118px;" valign="middle" align="center">13.8</td>

我希望能够抓取该元素中的值(在所示示例中为13.8)

这是我为此元素(使用Firefox)获得的xpath:

/html/body/form/div[3]/div/div[1]/div[2]/div[3]/div/div[2]/table/tbody/tr[1]/td[2]

这是我得到的CSS选择器: .ClubGridSelectedRow> td:nth-​​child(2)

这是我尝试过的代码(旧尝试已被注释掉):

br.switch_to.frame(br.find_element_by_tag_name("iframe"))
br.find_element_by_xpath('//*[@id="ctl00_bodyMP_grdClubs"]/tbody/tr[1]/td[2]')
br.find_element_by_class("/html/body/form/div[3]/div/div[1]/div[2]/div[3]/div/div[2]/table/tbody/tr[1]/td[2]")

handicap_element = br.find_element_by_css_selector("#ctl00_bodyMP_grdClubs > tbody > tr.ClubGridSelectedRow > td.ClubGridHandicapIndex")

handicap_detail = br.find_element_by_xpath("/html/body/form/div[3]/div/div[1]/d1iv[2]/div[3]/div/div[2]/table/tbody/tr[1]/td[2]")

handicap_detail = br.find_element_by_xpath("//td[@class='ClubGridHandicapIndex']")

handicap_detail = br.find_element_by_css_selector("#ctl00_bodyMP_grdClubs > tbody > tr.ClubGridSelectedRow > td.ClubGridHandicapIndex")

任何想法都值得赞赏

我应该能够轻松找到该元素。我在另一个非常成功的项目中使用了硒。但是,我对这个站点上的HTML有所了解。

预先感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

以下应该可以工作

content = driver.find_element_by_class_name('ClubGridHandicapIndex')

content = driver.find_element_by_css_selector('td.ClubGridHandicapIndex')

https://selenium-python.readthedocs.io/locating-elements.html