请教 selenium 或 selenide 怎么获取弹出窗口的元素?
各位,搞定了,是我的 xpath 有问题,chrome 自动抓取的 xpath 没有找到
chrome 抓取的 xpath:/html/body/div[7]/div/div[3]/a[1]
成功的 xpath://a[@class='inline_block red_bt_m mr40']
swith_to_alert 即可
看了一下这个网页的源码,你这个弹出来的并不是一个 alert 弹窗,还是一个 div,有一个 visibility 属性.为 Hidden 时则会被隐藏
你是要获取哪个元素?刚用 webdirver,“去购物车结算”、“继续购物”、“添加成功” 都可以用 xpath 定位到
各位,搞定了,是我的 xpath 有问题,chrome 自动抓取的 xpath 没有找到
chrome 抓取的 xpath:/html/body/div[7]/div/div[3]/a[1]
成功的 xpath://a[@class='inline_block red_bt_m mr40']
···
driver = webdriver.Chrome()
driver.get('https://www.lemall.com/product/products-pid-GWGT550635.html')
time.sleep(3)
#driver.maximize_window()
time.sleep(0.5)
driver.find_element_by_xpath('/html/body/div[2]/div[2]/div[2]/div[4]/div[2]/div[1]/a').click()
time.sleep(0.5)
a = driver.find_element_by_xpath('/html/body/div[6]/div/div[3]/a[1]/span').text
b = driver.find_element_by_xpath('/html/body/div[6]/div/div[3]/a[2]/span').text
c = driver.find_element_by_xpath('/html/body/div[6]/div/div[2]').text
time.sleep(1)
print(a,b,c)
driver.close()
···
swith_to_alert 或者 swith_to_frame 之后还是不行 可以试试用 focus 先把焦点移到元素上再操作
我刚也遇到了无法点击弹框上的元素,我的现象是可识别但是无法点击,加上这个最大化就可以了 driver.maximize_window()