[英]How to find web element by xpath using javascript code in python selenium webdriver?
[英]How to find Xpath for a web element defined using a Javascript tooltip?
当某人的Twitter页面上的Tweets数字成千上万时,Twitter会将其四舍五入为12.4K。 将鼠标移到该元素上时,工具提示会告诉您真实的数字,例如12,412。
我正在寻找使用Selenium WebDriver(可能带有它的find_element_by_xpath
函数)的实际数字。
如果我们以该 Twitter页面为例,并检查Firebug中的元素:
请注意,要使Firebug显示此HTML,我需要先在侧边栏的“样式”选项卡中单击:
锚点的XPath是:
/html/body/div[2]/div[2]/div/div[1]/div/div[2]/div/div/div[2]/div/div/ul/li[1]/a
从那里,我想我可以简单地在此Xpath的/@data-original-title
上标记,任何尝试获取此名称的程序都将成功。 但是,Webdriver的find_element_by_xpath
或Google Sheet的importXml()
无法检索任何内容。
我对Javascript或CSS知之甚少,但我想我需要单击“继承自”这一事实会暗示一个或两个都参与了我的挑战。 如果是这样,怎么办? 这样的XPath查询在这种情况下能否成功? 如果没有,如何获得确切的Tweets号?
@ Webdriver专家:是否有一种模仿这种鼠标悬停的方法来检索此值?
如果要悬停然后获取推文计数,那将是更多不必要的工作。 解决方法是,仅使用以下JavaScript并计数。
str = "return $(\"[href*='TheEllenShow/following']\").attr('data-original-title');"
count = driver.execute_script(str)
另一方面,推文的实际计数保存在属性中。 在这种情况下,您应该能够找到该元素并获取该元素上的属性以获取计数,如下所示:
element = driver.find_element(By.CSS_SELECTOR, "[href*='TheEllenShow/following']")
attr = element.get_attribute("data-original-title")
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.