我正在扫描网站以检查网站上是否存在某个脚本。我已经成功地从大多数网站中提取这些信息,但有一些会给我带来麻烦,例如。 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>
与此有关吗?。
答案 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")