相关疑难解决方法(0)

AttributeError:“WebDriver”对象没有属性“find_element_by_xpath”

from selenium import webdriver
import time

test = webdriver.Chrome()
test.get('https://docs.google.com/forms/d/e/1FAIpQLSeYUmAYYZNtbU8t8MRxwJo-        d1zkmSaEHodJXs78RzoG0yFY2w/viewform')

time.sleep(5)

Name = 'kuch bhi'
last = test.find_element_by_xpath('//*[@id="mG61Hd"]/div[2]/div/div[2]/div[1]/div/div/div[2]/div/div[1]/div/div[1]/input')
last.send_keys(Name)
Run Code Online (Sandbox Code Playgroud)

当我执行代码时,我收到一条错误消息,

AttributeError:“WebDriver”对象没有属性“find_element_by_xpath”

selenium browser-automation python-3.x selenium-chromedriver selenium-webdriver

75
推荐指数
3
解决办法
18万
查看次数

如何在不包含子元素文本的情况下获取Selenium WebDriver中的元素文本(通过Python api)?

<div id="a">This is some
   <div id="b">text</div>
</div>
Run Code Online (Sandbox Code Playgroud)

获得"这是一些"并非易事.例如,这会返回"This is some text":

driver.find_element_by_id('a').text
Run Code Online (Sandbox Code Playgroud)

一般来说,如何在不包含其子项文本的情况下获取特定元素的文本?

(我在下面提供了一个答案,但是如果有人能提出一个不那么可怕的解决方案,那么问题会保持开放).

html python selenium selenium-webdriver

37
推荐指数
3
解决办法
9万
查看次数

10
推荐指数
3
解决办法
1万
查看次数

如何使用Selenium x-path查找包含"download"一词的所有元素?

我正在使用Selenium做一些webscraping,我现在想找到用户可以点击的所有元素,其中包含链接文本,按钮文本,元素id,单词中的"download"(任何大小写)元素classhref.这可以包括链接,按钮或任何其他元素.

这个答案中,我找到了一个xpath,寻找一个xpath来搜索基于某个文本(或非区分大小写和部分匹配)的按钮:

text = 'download'
driver.find_elements_by_xpath("(//*[contains(text(), 'download')]")
Run Code Online (Sandbox Code Playgroud)

但在此页面上不返回任何结果,即使以下链接在那里:

<a id="downloadTop" class="navlink" href="javascript:__doPostBack('downloadTop','')">Download</a>
Run Code Online (Sandbox Code Playgroud)

有谁知道如何找到所有在网站中包含"下载"一词的元素?

[编辑]此问题被标记为一个问题的副本,该问题得到一个答案,建议将其更改为"//*[text()[contains(.,'download')]]".所以我尝试了以下方法:

>>> from selenium import webdriver
>>> d = webdriver.Firefox()
>>> link = 'https://www.yourticketprovider.nl/LiveContent/tickets.aspx?x=492449&y=8687&px=92AD8EAA22C9223FBCA3102EE0AE2899510C03E398A8A08A222AFDACEBFF8BA95D656F01FB04A1437669EC46E93AB5776A33951830BBA97DD94DB1729BF42D76&rand=a17cafc7-26fe-42d9-a61a-894b43a28046&utm_source=PurchaseSuccess&utm_medium=Email&utm_campaign=SystemMails'
>>> d.get(link)
>>> d.find_elements_by_xpath("//*[text()[contains(.,'download')]]")
[]  # As you can see it still doesn't get any results..
>>>
Run Code Online (Sandbox Code Playgroud)

有没有人知道如何在链接文本,按钮文本,元素id,元素classhref?中获取用户可以单击的所有元素以及哪些元素包含单词"download" ?欢迎所有提示!

html javascript python selenium xpath

6
推荐指数
1
解决办法
2422
查看次数