文章导读:
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]) ,两种方式中任选一种即可找到对应的元素
添加后的代码如下:
每天记录进步一点点.........
python爬虫怎么定位到这个标签?
import requests
import re
re_text = requests.get(url).text
re_content = re.findall('meta name="keywords" content="(.*?)"/', re_text)
print(re_content)
.*? 表示非贪婪匹配,可以匹配到。
Python怎样获取XPath下的A标签的内容
1、在浏览器中打开网页。然后//div,就可以找到页面中的所有div了,因为//表示的是任意目录下查找。如图,页面有两个div,所以可以找到两个。
2、要查找类为a的div,可以在div后面用[@class="be46-eac8-eacc-b0b2 类名"]来指定,这样没有类名a的div就会被过滤掉,当然,还可以用id,把class改为[@id="id名"]即可。
3、用//,这样div下面的非a标签就会被跳过,直接去找a标签。
4、如果要获取a标签的href,那么可以获取到a标签后用/@href即可获得。
5、如果是获取文本的话,可以用text()这个方法,就会得到a标签里面的内容。
6、斜杠/表示的是获取子元素,比如div下面有两个子元素p,那么//div[2]/p获取的就是第二个div的子元素p。
取子元素,比如div下面有两个子元素p,那么//div[2]/p获取的就是第二个div的子元素p。
个页面,对第二个页面中的元素,采取任何措施定位都报错,问题报错点如下:2、出现问题的原因:窗口句柄还停留在上一个页面,对于当前新弹出的页面还没有定位,因此新页面的任何元素都定位不到3、解决方案:在新页面操作元素之前,需添加句柄操作,方式如下:1、使用driver.c
, re_text)print(re_content).*? 表示非贪婪匹配,可以匹配到。Python怎样获取XPath下的A标签的内容1、在浏览器中打开网页。然后//div,就