无法关闭http://www.cargo.lt/加载后出现的弹出窗口。这就是我所拥有的:
from selenium import webdriver
import time
driver = webdriver.Firefox()
driver.get('http://www.cargo.lt/asp/index.asp?')
time.sleep(10)
driver.find_element_by_xpath('/html/body/div[36]/div/a').click()
我不太熟悉如何编写自定义xpath / css路径,现在只需单击Inspect元素并复制xpath。我做错了什么?
修改 多么愚蠢的错误。没有意识到,当元素不在屏幕上时,Selenium无法点击它。刚添加了driver.maximize_window(),我所有的问题都消失了。谢谢大家的回答。不幸的是我还不能投票,因为我没有足够的积分......
答案 0 :(得分:1)
我试过你的代码工作正常我不知道你有什么问题但是
试试这个:driver.implicitly_wait(10)
投诉:
time.sleep(10)
答案 1 :(得分:0)
您好关闭弹出/提醒请使用
driver.switch_to_alert()
然后使用
driver.find_element_by_xpath('/html/body/div[36]/div/a').click()
//如果你已经复制了粘贴的表格firebug,那么我猜是正确的
或者如果你的xpath不正确则使用
driver.find_element_by_xpath("//a[@id='advert_x']").click()
答案 2 :(得分:0)
您可以使用python -Selenium中的预定义命令切换到警告框。
from selenium import webdriver
driver = webdriver.Firefox()
driver.get('http://www.cargo.lt/asp/index.asp?')
alrt = driver.switch_to_alert()
alrt.accept()
希望它有所帮助。
答案 3 :(得分:0)
您可以使用 chrome 选项
在Python中,你可以使用
chrome_options = webdriver.ChromeOptions()
chrome_options.add_argument("--disable-notifications")
webdriver.Chrome(os.path.join(path, 'chromedriver'),chrome_options=chrome_options)
在Java中
ChromeOptions options = new ChromeOptions();
options.addArguments("--disable-popup-blocking");
options.addArguments("test-type");
ChromeDriver driver = new ChromeDriver(options);