使用xpath / selenium / python在脚本中查找字符串

时间:2018-05-10 19:11:26

标签: python selenium xpath

我正在扫描网站以检查网站上是否存在某个脚本。我已经成功地从大多数网站中提取这些信息,但有一些会给我带来麻烦,例如。 247sports.com,我无法获得DOM看起来像这样的信息

...

<iframe src='...'>
  <!DOCTYPE html>
  <html lang..>
  <head>
  <iframe> ...</iframe>
  ...
  <script id="utag_81" src="https://js.agkn.com/prod/v0/tag.js?_rnd=0.6281110988358267" type="text/javascript" charset="utf-8" async=""></script>
  ...
</iframe>

我使用Firefox Webdriver寻找&#34; agkn&#34; src中的字符串=&#34; https://js.agkn.com/prod..."

Python代码:

x = Webdriver.find_elements_by_xpath("(//iframe|//script|//img|//a)[contains(text(),'agkn') or contains(@src,'agkn') or contains(.,'agkn') or contains(@id,'utag_81') ]")

x的长度始终为0.

<!DOCTYPE html>与此有关吗?。

1 个答案:

答案 0 :(得分:0)

如果代码中有iframe,则需要先切换到iframe,然后从该级别获取元素。

示例代码:

self.driver = webdriver.Firefox()
driver.switch_to.frame(driver.find_element_by_tag_name("iframe"))
elem = driver.find_element_by_xpath("/html/body/img")