selenium+Python页面元素定位问题

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了selenium+Python页面元素定位问题相关的知识,希望对你有一定的参考价值。

如下图所示的html页面,我想要定位到“已上架”然后选中点击,另一张图有我写的代码,我想知道为什么最后运行的报错信息是:ElementNotVisibleException: Message: element not visible
xpath定位不了的:/html/body/div[6]/div/div/div/ul/li[1]

参考技术A 试试只定位到ul的前一个div看看 参考技术B 元素不可见,首先需要按照实际操作使元素加载再定位。本回答被提问者采纳

python+selenium怎么定位页面弹窗的元素

1、问题发生描述:

从一个页面进行点击等操作,页面跳转到第二个页面,对第二个页面中的元素,采取任何措施定位都报错,问题报错点如下:

2、出现问题的原因:

窗口句柄还停留在上一个页面,对于当前新弹出的页面还没有定位,因此新页面的任何元素都定位不到

3、解决方案:

在新页面操作元素之前,需添加句柄操作,方式如下:

1、使用driver.current_window_handle #获取当前窗口句柄,添加此方法,仍报相同的错误,因此不能采用这种方式进行解决问题

2、使用driver.switch_to_window(driver.window_handles[1]),或者 driver.switch_to_window(self.driver.window_handles[-1]) ,两种方式中任选一种即可找到对应的元素

添加后的代码如下:

每天记录进步一点点.........

参考技术A 定位页面元素
//通过Id定位元素
WebElement element = driver.findElement(By.id(“id名"));
//通过name定位元素
WebElement element = driver.findElement(By.name(“name名"));
//通过xpath定位元素
WebElement element = driver.findElement(By.xpath(“xpath路径"));
//通过标签的值定位元素
WebElement cheese = driver.findElement(By.linkText(“标签的值"));
//通过class的值定位元素
List list=driver.findElements(By.className(“class值"));
//通过标签名定位元素
List list = driver.findElements(By.tagName(“标签名"));

以上是关于selenium+Python页面元素定位问题的主要内容,如果未能解决你的问题,请参考以下文章

无法在 python selenium 中使用 selenium chrome webdriver 定位元素

Python+Selenium元素定位不到的问题及解决办法

Python+Selenium 定位页面元素

Selenium with Python 003 - 页面元素定位

Python3.x:Selenium中的webdriver进行页面元素定位

Python(81)_selenium定位页面元素