Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/visual-studio-code/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 通过xpath定位网站后单击找到的元素_Python_Python 3.x_Selenium Webdriver - Fatal编程技术网

Python 通过xpath定位网站后单击找到的元素

Python 通过xpath定位网站后单击找到的元素,python,python-3.x,selenium-webdriver,Python,Python 3.x,Selenium Webdriver,我想用点击的方法来自动查看facebook市场上提供的产品的详细信息。下面是我创建的脚本。它将进入页面,但不会单击xpath中指向的产品 from selenium import webdriver chrome_path = r"C:\Users\Ryzen 5\Desktop\chromedriver.exe" driver = webdriver.Chrome(chrome_path) driver.get("https://www.facebook.com/

我想用点击的方法来自动查看facebook市场上提供的产品的详细信息。下面是我创建的脚本。它将进入页面,但不会单击xpath中指向的产品

from selenium import webdriver
chrome_path = r"C:\Users\Ryzen 5\Desktop\chromedriver.exe"
driver = webdriver.Chrome(chrome_path)
driver.get("https://www.facebook.com/marketplace/109480902404412/search/?category_id=computers&query=Mac")
driver.find_element_by_xpath('//*[@id="mount_0_0"]/div/div[1]/div/div[3]/div/div/div[1]/div[1]/div[2]/div/div/div[5]/div[1]/div[2]/div[1]/div/span/div/div/a/div/div[1]/div/div/div/div/div').click()

若这个方法不起作用,你们可以使用pyautogui和这个库来点击屏幕上的特定坐标。 像这样,

pyautogui.FAILSAFE=False
pyautogui.moveTo(Lix,Liy)
pyautogui.click(Lix,Liy,clicks=1,interval=0.0,button="left")

您从未调用.click()方法。他在
驱动程序之后调用。通过\u xpath()查找\u元素\u
是否检查了这个大字符串返回的元素?它还回什么吗?你有错误吗?您是否尝试使用更小、更容易解析的html对其进行调试?您可能希望查看描述如何在与页面交互之前等待页面完成加载的文档。您没有添加收到的错误类型,但这可能与在元素完成加载之前尝试单击该元素有关。没有此类元素例外,如果有人问“我做X,但它不工作”-回答“您可以使用Y来做”可能不需要帮助。该项目很可能在其他方面也使用硒。使用“屏幕上的特定坐标”更适用于GUI,而不适用于非可视浏览器。在网站上使用固定坐标也是不好的,因为它们会根据screenestate改变布局,并移动东西。。。