第一个问题。
开始我的Selenium-Py之旅,第一个任务是剖析一个包含超过110,000个源代码字符的页面。
我需要找到一个元素,嵌套在8个HTML标签,像这样:
<a href="#Menu" class="item item" onclick="JQueryModule('DBSearch', 'Send'); "> Search <a>
尝试了很多方法来找到元素,不管有多难。在同一页面中发现了许多其他条目,例如:
elm = driver.find_element(By.XPATH, "//i[@onclick='openNav()']")
elm = driver.find_element(By.XPATH, "//div[@class='item active']/a[1]")
由于某些原因,同样的方法在这里不起作用。
帮忙吗?
您共享的两个Xpath语法都错误。
这样比较好:
elm = driver.find_element(By.XPATH, "//i[@onclick='openNav()']")
elm = driver.find_element(By.XPATH, "//div[@class='item active']/a[1]")
但是我不能确定它会工作,因为我不能检查这些定位器的正确性和唯一性。此外,在访问元素之前可能需要等待页面加载完成。WebDriverWait
expected_conditions
应该使用显式等待。