我需要在selenium python中的动态h1元素中找到该值
我正在使用python 2.7、Firefox和selenium 3.11 我有一行动态编号作为id:我需要在selenium python中的动态h1元素中找到该值,python,selenium,selenium-webdriver,Python,Selenium,Selenium Webdriver,我正在使用python 2.7、Firefox和selenium 3.11 我有一行动态编号作为id: <div class="class1" dojoattachpoint="titleText" dojoattachevent="onmouseover:_mouseOverTitle,onmouseout:_mouseOutTitle,onmousedown:_mouseDownTitle"> <h1 id=&qu
<div class="class1" dojoattachpoint="titleText" dojoattachevent="onmouseover:_mouseOverTitle,onmouseout:_mouseOutTitle,onmousedown:_mouseDownTitle">
<h1 id="_N90399546_title">textToFind</h1>
文本查找
我想找到textToFind
我尝试了以下方法:
x=driver.find\u element\u by_xpath(“//h1[@id='dynamicNumber']”)
->当动态数相同时,我正在尝试使用它,以查看它是否有效,但没有
结果:找不到textToFind
x=driver.find\u element\u by\u link\u text('textToFind')
->在动态搜索中不起作用
结果:找不到textToFind
x=driver.通过xpath(“/*[@class='class1'][contains(text(),'textToFind')]”)查找元素
结果:找不到textToFind
x=driver。通过xpath(“/*[@class='class1'][contains(text(),'textToFind')]”)查找元素。getAttribute(“innerHTML”)
结果:找不到textToFind
x=driver.通过xpath(“/*[@class='class1']”)查找元素
结果:找不到textToFind
x = driver.find_element_by_xpath("//div[@class='class1']/h1[contains(text(),'textToFind')]")
然后使用CSS选择器使用以下部分匹配:
- 如果固定前缀字符串,例如
,则id=“some-prefix-132dsad233”
x=driver。通过css选择器(“h1[id^='some-prefix'])查找元素
- 如果固定后缀字符串,例如
则id=“132dsad233some postfix”
x=driver。通过css\u选择器(“h1[id$='some-postfix']”查找元素
- 匹配id中的一些固定文本,例如
然后id=“132dsad233some postfix”
x=driver。通过css选择器(“h1[id*='some']”查找元素
id=“hello132dsad233somepostfix”
然后x=driver。通过css\u选择器(“h1[id^='hello'][id$='postfix']”查找元素
请使用其他环绕元素组合,使您的定位器独特且坚固您可以尝试以下css选择器
print(driver.find_element_by_css_selector("div.class1>h1").text)
谢谢,让我试试你的建议。ID是100%动态的…答案1失败,我找不到我正在查找的文本,2不适用于我的案例。。。谢谢你,我也试过了:X=driver。通过xpath(“//div[@class='class1'和contains(text(),'textToFind')])查找元素。请用你网站的实际html片段更新问题。它太庞大了,让我尝试获取上面我工作的部分谢谢,但是我如何映射文本以通过css选择器找到它?我需要通过文本找到它…@Gusbok:然后尝试下面的xpath
,即print(driver.find_element\u by_xpath(//h1[包含(,'textToFind'))”。text)
您可能需要在元素之前等待一些时间。谢谢,我正在运行第一个建议,如果它不起作用,我将尝试这个!我还尝试了:x=driver.find_element_by_xpath(//h1[contains(,'textToFind')])”)。text()@Gusbok:您遇到了什么错误?请检查DOM树中是否存在iframe
?